package com.ny.zmb.openapi.ysutil.from.BizReqJsonCollege;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @author ChenZhiZheng
 * @date 20241104
 * @deprecated 分账业务请求参数（BizReqJsonSeparateAccounts）SeparateAccounts
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BizReqJsonSeparateAccounts implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
     * 商户系统生成的订单号，须保证在商户端不重复，生成规则前8位必须为交易日期，如20220525，
     * 范围跨度支持包含当天在内的前后一天，且只能由大小写英文字母、数字、下划线及横杠组成，
     * 示例值：202205256843192280647118
     */
    private String requestNo;
    /**
     * 收款方银盛商户号
     */
    private String payeeMerchantNo;
    /**
     * 需分账订单的业务请求号
     */
    private String origRequestNo;
    /**
     * 需分账订单的交易参考号
     */
    private String srefNo;
    /**
     * 需分账订单的会计日期，格式：yyyyMMdd
     */
    private String acDt;
    /**
     * 原订单金额，单位：元
     */
    private String amount;
    /**
     * 原订单是否分账 Y-是 N-否（无需分账订单传N，直接入账到收款方）
     */
    private String isDivision;
    /**
     * 分账模式    01-比例、02-金额
     */
    private String divisionMode;
    /**
     * 分账明细列表，是否分账为Y时，此参数必传
     */
    private JSONArray divisionList;
    /**
     * 分账退款明细列表，JSON格式数组 原订单分账时该参数必填
     */
    private JSON refundSplitInfo;
    /**
     * 分账结果异步通知地址，为空则不通知
     */
    private String notifyUrl;
    /**
     * 分账方的银盛商户号（从此账户中回退资金）
     */
    private String divisionMercId;
    /**
     * 操作类型
     * CREATE-新增授权（用于未创建过授权的分账方）
     * MODIFY_ON-授权修改：生效
     * MODIFY_OFF-授权修改：关闭
     * 授权失效无需授权方式验证
     */
    private String actionType;
    /**
     * 授权方式 SMS-短信验证码
     */
    private String authMethod;

    public BizReqJsonSeparateAccounts saveOigRequestNo() {
        String origRequestNo = this.origRequestNo;
        BizReqJsonSeparateAccounts bizReqJsonSeparateAccounts = new BizReqJsonSeparateAccounts();
        bizReqJsonSeparateAccounts.origRequestNo = origRequestNo;
        return bizReqJsonSeparateAccounts;
    }
}



